The need to store digital files, documents, pictures, images and other data continues to increase rapidly. In connection with the electronic storage of data, various data storage systems have been devised for the rapid and secure storage of large amounts of data. Such systems may include one or a plurality of storage devices that are used in a coordinated fashion. Systems in which data can be distributed across multiple storage devices such that data will not be irretrievably lost if one of the storage devices (or in some cases, more than one storage device) fails are also available. Systems that coordinate operation of a number of individual storage devices can also provide improved data access and/or storage times. Examples of systems that can provide such advantages can be found in the various RAID (redundant array of independent disks) levels that have been developed. Whether implemented using one or a plurality of storage devices, the storage provided by a data storage system can be treated as one or more storage volumes.
In order to facilitate the availability of desired data, it is often advantageous to maintain different versions of a data storage volume. Indeed, data storage systems are available that can provide at least limited data archiving through backup facilities and/or snapshot facilities. The use of snapshot facilities greatly reduces the amount of storage space required for archiving large amounts of data.
Snapshots provide a versatile feature that is useful for data recovery operations, such as backup and recovery of storage elements. However, read/write access to snapshots, especially sparse snapshots, is traditionally much slower than read/write access to an actual storage volume, such as a master volume. The difference in read/write access speeds occurs because a controller may have to search for snapshot data from a particular point-in-time from a number of different snapshots or the master volume. On the other hand, the controller can pull all of the information from a single storage volume without searching through a number of different locations (e.g., snapshots or a master volume). Accordingly, system administrators sometimes desire to copy a snapshot to an actual storage volume such that the point-in-time representation of the snapshot can be more easily accessed by host systems.
One problem introduced by traditional volume copy procedures is that host systems are not allowed to access either the snapshot or the storage volume being created until after the volume copy procedure is complete. In large data storage systems the amount of time required to complete a volume copy procedure may be on the order of hours to days. Thus, most volume copy procedures have to be scheduled during non-working hours because access to the snapshot data and storage volume will be restricted. This presents an inconvenience to the system administrator as well as any person that attempts to access the storage volume or snapshot data during the volume copy.
Another problem with current volume copy procedures is that the attributes of the storage volume being created are different from the snapshot from which it is being copied. More specifically, the World Wide Name (WWN) and other attributes used to access data will differ between the snapshot and the newly created storage volume. Accordingly, system administrators are required to reconfigure any host-based applications, such as automated data backup applications, that previously referenced the snapshot to now reference the newly created storage volume. If the reconfiguration of the application is not done properly, then that application will not function properly and data may be lost or corrupted.
Still another problem with current volume copy procedures is that there is currently no way to volume copy from a master volume because the master volume is always changing due to host read/write accesses. Rather, volume copy procedures are only provided for creating a storage volume copy of a snapshot.
It would therefore be desirable to provide a volume copy procedure that allows access to both the snapshot being copied (i.e., the Volume Copy Source) as well as the storage volume being created (i.e., the Volume Copy Target) during the volume copy procedure. It would further be desirable to provide a volume copy procedure that does not require a system administrator to reconfigure all host applications that previously referenced the snapshot to reference the newly created storage volume. It would also be desirable to allow a volume copy of a master volume as opposed to only snapshots.